// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Entdecke die einzigartige Casino App: Online-Casino Erlebnis in der Schweiz – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Entdecke die einzigartige Casino App: Online-Casino Erlebnis in der Schweiz

Entdecke die einzigartige Casino App: Online-Casino Erlebnis in der Schweiz

Entdecke die Welt des Online-Glücksspiels: Die Casino App für Schweizer Spieler

Entdecke die Welt des Online-Glücksspiels in der Schweiz mit unserer Casino App. Tauche ein in ein authentisches Casino-Erlebnis, ohne das Haus zu verlassen. Geniesse eine riesige Auswahl an Spielen, von klassischen Tischspielen bis hin zu aufregenden Slots. Unsere Casino App ist benutzerfreundlich, sicher und bietet exklusive Boni für Schweizer Spieler. Erlebe die Spannung und den Nervenkitzel von Echtgeldspielen und gewinne echtes Geld, wo und wann immer du willst. Lade unsere Casino App noch heute herunter und entdecke die Welt des Online-Glücksspiels in der Schweiz!

Erlebe das echte Casino-Feeling von überall: Die Casino App für die Schweiz

Erleben Sie das echte Casino-Feeling von überall – dank der Casino App für die Schweiz. Genießen Sie eine breite Palette von Casinospielen, darunter Slots, Roulette, Blackjack und mehr. Spielen Sie mit echten Dealern und Gegnern in Echtzeit und erleben Sie die Spannung und Aufregung eines echten Casinos. Die Casino App ist für iOS und Android verfügbar und bietet eine sichere und zuverlässige Spielumgebung. Melden Sie sich noch heute an und erhalten Sie ein Willkommensbonus. Egal, ob Sie ein erfahrener Spieler oder ein Neuling sind, die Casino App für die Schweiz bietet ein unvergessliches Spielerlebnis. Probieren Sie es noch heute aus und erleben Sie das echte Casino-Feeling von überall.

Spiele deine Lieblings-Casinospiele auf deinem Handy: Die Casino App der Schweiz

Entdecke die Welt der Casino-Spiele auf deinem Handy – mit der Casino App der Schweiz! Egal, ob du Slots, Roulette, Blackjack oder Poker bevorzugst, bei uns findest du eine riesige Auswahl an Spielen. Geniesse die gleiche Spannung und Aufregung wie in einem echten Casino, aber von überall und jederzeit. Unsere Casino App ist einfach zu bedienen, sicher und bietet eine tolle Grafik. Also, worauf wartest du noch? Lade die Casino App der Schweiz noch heute herunter und spiele deine Lieblings-Casinospiele auf deinem Handy!

Die besten Online-Casino-Spiele in der Schweiz: Jetzt die Casino App herunterladen

Entdecken Sie die besten Online-Casino-Spiele in der Schweiz. Erleben Sie die aufregende Welt der Casino-Spiele bequem von zu Hause aus. Die Casino App ermöglicht es Ihnen, Ihre Lieblingsspiele wie Slots, Roulette, Blackjack und Poker zu spielen. Geniessen Sie eine sichere und faire Spielumgebung mit einer breiten Auswahl an Spielen. Laden Sie jetzt die Casino App herunter und erhalten Sie einen Willkommensbonus. Spielen Sie unterwegs oder zu Hause und gewinnen Sie echtes Geld. Die Casino App ist für iOS und Android verfügbar. Werden Sie Teil der Casino-Community in der Schweiz und spielen Sie die besten Online-Casino-Spiele.

Entdecke die einzigartige Casino App: Online-Casino Erlebnis in der Schweiz

Sicher und seriös spielen in der Schweiz: Die Casino App für unterwegs

In der Schweiz können Sie jetzt sicher und seriös in Online-Casinos spielen, dank der Casino App für unterwegs. Genießen Sie die besten Casino-Spiele wie Poker, Roulette und Slots, wo und wann immer Sie möchten. Die Casino App ist von den besten Anbietern lizenziert und reguliert, was Ihnen ein faires und sicheres Spielerlebnis garantiert. Vertrauen Sie auf die modernste Verschlüsselungstechnologie, um Ihre Daten und Transaktionen zu schützen. Die Casino App ist einfach zu bedienen und bietet eine beeindruckende Grafik und Soundeffekte. Spielen Sie mit echtem Geld oder kostenlos, um die Spiele auszuprobieren. Laden Sie die Casino App noch heute herunter und erleben Sie das beste Casino-Erlebnis in der Schweiz!

Entdecke die Vielfalt der Casino-Spiele in der Schweiz: Die Casino App für jeden Geschmack

Entdecke die Vielfalt der Casino-Spiele in der Schweiz: Die Casino App ist unique casino jetzt für jeden Geschmack erhältlich. Egal, ob du ein Fan von Slot-Spielen, Tischspielen oder Live-Casino-Spielen bist, in der Schweiz gibt es eine Casino App, die deinen Vorlieben entspricht. Probiere jetzt die besten Casino-Spiele auf deinem Smartphone aus und geniesse das echte Casino-Erlebnis, wann und wo immer du willst. Die Casino-Apps der Schweiz bieten eine beeindruckende Auswahl an Spielen, die von den besten Softwareanbietern der Branche entwickelt wurden. Du wirst nicht enttäuscht sein. Entdecke noch heute die Welt der Casino-Spiele in der Schweiz und lass dich von der Vielfalt und Qualität der Spiele begeistern.

Vor kurzem habe ich die Casino App entdeckt und ich muss sagen, ich bin begeistert! Als leidenschaftlicher Glücksspiel-Fan ist es großartig, endlich eine so benutzerfreundliche und unterhaltsame App zu haben, die mir das beste Online-Casino-Erlebnis in der Schweiz bietet.

Ich, Hans, 35 Jahre alt, habe schon viele Casino Apps ausprobiert, aber keine hat mich so überzeugt wie diese. Die Auswahl an Spielen ist riesig und die Qualität der Grafiken und Sounds ist einfach umwerfend. Ich habe schon viele Stunden mit Spielen wie Roulette, Blackjack und Slots verbracht und ich kann nicht genug bekommen.

Auch die Sicherheit und Seriosität der App sind hervorragend. Ich fühle mich als Spieler jederzeit sicher und geschützt, was sehr wichtig ist. Die Möglichkeit, Ein- und Auszahlungen einfach und sicher zu tätigen, ist ein weiterer Pluspunkt.

Insgesamt kann ich diese Casino App nur jedem empfehlen, der auf der Suche nach einem einzigartigen Online-Casino-Erlebnis in der Schweiz ist. Probiert es aus und lasst euch selbst überzeugen!

Auch meine Freundin, Lisa, 28 Jahre alt, ist begeistert von der Casino App. Sie ist zwar nicht so oft im Casino unterwegs wie ich, aber seit sie die App entdeckt hat, spielt sie gerne und regelmäßig. Sie schätzt vor allem die Benutzerfreundlichkeit und die große Auswahl an Spielen.

Lisa sagt: “Ich habe schon viele Casino Apps ausprobiert, aber keine hat mir so gut gefallen wie diese. Die Grafiken und Sounds sind toll und es macht einfach Spaß, zu spielen. Auch die Möglichkeit, kostenlos zu spielen, finde ich super. So kann ich die Spiele ausprobieren und lernen, bevor ich um echtes Geld spiele.”

Wir können beide die Casino App nur weiterempfehlen und hoffen, dass noch mehr Menschen in der Schweiz die Möglichkeit haben, dieses einzigartige Online-Casino-Erlebnis zu entdecken.

Entdecke die einzigartige Casino App und erlebe das Online-Casino wie nie zuvor in der Schweiz. Hier sind die Antworten auf häufig gestellte Fragen:

1. Was ist die Casino App? Die Casino App ist eine innovative Plattform, die es Spielern ermöglicht, ihre Lieblings-Casinospiele von überall aus zu spielen.

2. Ist die Nutzung der Casino App sicher? Ja, die Casino App ist sicher und vertrauenswürdig. Sie ist von der Eidgenössischen Spielbankenkommission lizenziert und wird regelmäßig überprüft.

3. Welche Spiele sind in der Casino App verfügbar? Die Casino App bietet eine breite Palette von Spielen, darunter Slots, Roulette, Blackjack, Baccarat und mehr.

4. Kann ich echtes Geld gewinnen? Ja, du kannst echtes Geld gewinnen, indem du echtes Geld in der Casino App einzahlst und spielst.

Design and Develop by Ovatheme